from flask import Flask,render_template,jsonify
from flask_cors import CORS
import pymysql

#       初始化flask
app=Flask(__name__)
#   允许与浏览器共享服务器资源
CORS(app)



#   定义获取mysql里面数据的方法
# def get_data(sql):
#     #   建立与mysql的连接
#     connect=pymysql.connect(host='192.168.40.110',user='root',password='123456',database='ljy',charset='utf8')
#     #   创建游标对象
#     cursor=connect.cursor()
#     #   执行sql语句，返回数据
#     cursor.execute(sql)
#     #   fetchall()函数返回一个列表。列表里面是元组，每一个元组是一行数据
#     data=cursor.fetchall()
#     #   存储转换成字典格式的数据
#     data_dict=[]
#     #   处理数据的格式
#     for x in data:
#         #   todo 得到数据存在三个字段
#         if len(x)==3:
#             data_dict.append(
#                 {
#                     "x":x[0],
#                     "y":x[1],
#                     "z":x[2]
#                 }
#             )
#         #   todo 数据只有两个字段
#         else:
#             #   todo 词云图要求的key必须是name   值必须是value
#             data_dict.append(
#                 {
#                     "name":x[0],
#                     "value":x[1]
#                 }
#             )
#     #   将数据返回
#     return data_dict

# #   todo 图1:每个城市演唱会次数top10
# data1=get_data('select * from ljy.r1  order by number desc limit 10')
# # #   todo 图2:每个城市最高门票和最低价格对比图
# data2=get_data('select * from r2 order by max_money desc limit 10;')
# # #   todo 图3:演唱会明星词云图
# data3=get_data('select * from r3;')
# # #   todo 图4：个人价格最高的明星Top10
# data4=get_data('select * from r4 order by max_money desc limit 10;')
# # #   todo 图5:平均门票价格最低的10个城市
# data5=get_data('select * from r5 order by avg_min_money  limit 10;')
# # #   todo 图6:平均门票价格最高的10个城市
# data6=get_data('select * from r6 order by avg_max_money desc limit 10;')

# #   定义浏览器输入url跳转到可视化大屏
# #   todo Flask 的装饰器，用于定义 URL 路由规则。 输入http://127.0.0.1:8088/即可触发下面的index函数
# @app.route('/view_all')
# def view_all():
#     return render_template(
#         #   todo 渲染指定的 HTML 模板并传递数据。
#         #   todo 右侧是python里面的变量，左边的data1是html里面的变量
#         '可视化大屏展示.html',data1=data1,data2=data2,data3=data3,
#         data4=data4,data5=data5,data6=data6
#     )

# @app.route('/')
# def index():
#     return render_template(
#         #   todo 渲染指定的 HTML 模板并传递数据。
#         #   todo 右侧是python里面的变量，左边的data1是html里面的变量
#         'index.html',data1=data1,data2=data2,data3=data3,
#         data4=data4,data5=data5,data6=data6
#     )


@app.route('/predict_search')
def predict_search():
    return render_template('predict_search.html')




#   启动flask渲染
#   在浏览器输入:   http://127.0.0.1:8088/访问可视化大屏
if __name__=='__main__':
    app.run(debug=True,host='0.0.0.0',port=8088)
